package com.lutzyt.delivery.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lutzyt.delivery.bean.User;

import java.util.List;

/**
 *
 */
public interface UserService extends ActionService<User> {

  /**
   * 通过ID查询单个
   *
   * @param id ID
   * @return {@link User}
   */
  User findById(Integer id);

  /**
   * 分页查询
   *
   * @param pageNum  页号
   * @param pageSize 每页大小
   * @return {@link User}
   */
  IPage<User> findByPage(int pageNum, int pageSize);

  /**
   * 新增
   *
   * @param user
   */
  void insert(User user);

  /**
   * 修改
   *
   * @param user
   */
  void update(User user);

  /**
   * 通过ID删除单个
   *
   * @param id ID
   */
  void deleteById(Integer id);

  /**
   * 通过ID批量删除
   *
   * @param ids ID
   */
  void deleteByIds(List<String> ids);

  /**
   * 通过用户名查询用户
   * @param username
   * @return
   */
  User findByName(String username);
}